package com.marvels.approve.loan.api;


import java.util.List;
import java.util.Map;

import com.marvels.approve.common.dto.InsurancePolicyDTO;
import com.marvels.approve.loan.dto.McamLoanApplyContactInfo;
import com.marvels.approve.loan.dto.McamLoanApplyInfoDTO;
import com.marvels.approve.loan.dto.WaitLendInfoDTO;
import com.marvels.approve.process.dto.ProtocolTemplateInfoDTO;

/**
 * 进件信息
 * @author tangpw
 *
 */
public interface LoanApplyProvideApi {
	
	/**
	 * 更新进件信息表状态
	 * @param mcamLoanApplyInfoDTO
	 * @return
	 */
	public int modifyLoanApplyInfo(McamLoanApplyInfoDTO mcamLoanApplyInfoDTO);
	
	
	
	
	
	/**
	 * 查询进件信息
	 * @param mcamLoanApplyInfoDTO
	 * @return
	 */
	public McamLoanApplyInfoDTO selectLoanApplyInfo(McamLoanApplyInfoDTO mcamLoanApplyInfoDTO);
	
	
	/**
	 * 根据loanId查询联系人信息
	 * @param loanId
	 * @return
	 */
	public List<McamLoanApplyContactInfo> selectContactByLoanId(McamLoanApplyContactInfo mcamLoanApplyContactInfo);
	
	
	
	/**
	 * 根据loanId查询保单信息
	 * @param loanId
	 * @return
	 */
    public  List<InsurancePolicyDTO> selectInsuranceByLoanId(InsurancePolicyDTO mcamLoanInsurancePolicyInfo);
    
    
    
    /**
     * 根据产品资金源查询p05待放款状态的单子
     * @param infoDTO
     * @return
     */
    public List<String> selectWaitLendInfo(WaitLendInfoDTO infoDTO);
    
    /**
     * 根据资金源查询合同签名模板
     * @param dto
     * @return
     */
    public List<ProtocolTemplateInfoDTO> findProtocalTemplateList(McamLoanApplyInfoDTO dto);
  
    
	/**
	 * 查询上海资信需要申请数据
	 * @param mcamLoanApplyInfoDTO
	 * @return
	 */
	public Map<String, Object> selectShzxNeedLoanApplyInfo(McamLoanApplyInfoDTO mcamLoanApplyInfoDTO);
}
